package 启蒙阶段;

/**
 * 创建人：刘源江
 * 类描述：
 * 创建时间：2022/7/30 10:48
 **/

public class demo23匿名内部类 {
    public static void main(String[] args) {
        //概述：
        //前提条件存在一个类或者一个接口
        //匿名内部类就是这个类的子类对象或者接口实现类对象，就是子类对象的简化格式
        //格式：
        //new 类名或者接口名(){
        //  重写方法，这个类可以是普通类，可以重写也可以不重写
        //  如果是抽象类或者接口就一定要重写里面的抽象方法
        //}

        Z z = new Z();
        z.method();

        new Z().method();

        //匿名内部类，通过new父类对象找到儿子对象
        new Fa(){
            @Override
            public void method() {
                System.out.println("对父类的方法进行重写");
            }
        }.method();
    }
}

class Fa{
    public void method(){
        System.out.println("父类");
    }
}

class Z extends Fa{
    @Override
    public void method() {
        System.out.println("重写");
    }
}
